home *** CD-ROM | disk | FTP | other *** search
- set output error
-
- display _new in blue /*
- */ "Loading Data.Kit Release 2.0 Demonstration Version" _n /*
- */ "Copyright (c) 1987-1988 by ==C=R=C==. All rights reserved."
-
-
- * routines used by collapse:
-
- capture program drop _sums
- program define _sums
- by %_1: replace %_2=sum(%_2)
- end
-
- capture program drop _means
- program define _means
- by %_1: replace %_2=sum(%_2)/sum(%_2~=.)
- end
-
- capture program drop _medians
- program define _medians
- sort %_1 %_2
- by %_1: gen _CNT=sum(%_2~=.)
- by %_1: replace %_2= /*
- */ (%_2[(_CNT[_N]+1)/2]+%_2[(_CNT[_N]+2)/2])/2 if _n==_N
- by %_1: replace %_2=%_2[_N]
- drop _CNT
- end
-
-
- * top level programs
-
- capture program drop recast
- program define recast
- if "%_2"=="" | "%_3"~="" {
- di in bl "->recast varname type"
- exit
- }
- confirm var %_1
- capture gen %_2 _recast = %_1
- if _rc {
- di in red "%_2 invalid type for %_1"
- exit
- }
- capture {
- count if %_1~=_recast
- if _result(1)>0 {
- di in red _result(1), /*
- */ "values would be changed. No action taken."
- drop _recast
- exit
- }
- mac def _varl : variable label %_1
- label var _recast "%_varl"
- capture confirm string var _recast
- if _rc {
- mac def _val : value label %_1
- label val _recast %_val
- mac def _fmt : format %_1
- format _recast %_fmt
- }
- }
- if _rc {
- di in red "--Break--"
- capture drop _recast
- exit
- }
- drop %_1
- rename _recast %_1
- end
-
-
- * order deleted
-
- capture program drop order
- program define order
- di in blue "not available in demonstration version"
- end
-
-
- capture program drop collapse
- program define collapse
- if "%_*"=="" {
- di in bl /*
- */ "-> collapse varlist [if] [in], by(varname) [means medians sums]"
- di in bl _col(31) "nowarning"
- exit
- }
- mac def _varlist "req ex"
- mac def _options "BY(string) SUms MEAns MEDians noWarning"
- mac def _if "opt"
- mac def _in "opt"
- parse "%_*"
- capture conf ex %_by
- if _rc {
- di in red "by(variable) required"
- exit
- }
- conf var %_by
- mac def _type "means"
- if "%_sums"~="" { mac def _type "sums" }
- if "%_medians"~="" { mac def _type "medians" }
- if "%_warning"=="" {
- di in red "Warning: " in bl "Data in memory will be destroyed."
- di _col(10) in bl /*
- */ "Press any key to continue, Ctrl-Break to abort."
- more
- }
- quietly {
- keep %_varlist %_by
- if "%_if"~="" | "%_in"~="" {
- keep %_if %_in
- }
- sort %_by
- parse "%_varlist", parse(" ")
- while "%_1"~="" {
- _`%_type "%_by" %_1
- mac shift
- }
- by %_by: keep if _n==_N
- label data "%_type by %_by"
- }
- desc
- end
-
- capture program drop mdytoe
- program define mdytoe
- if "%_*"=="" {
- di in bl "-> mdytoe mo da yr [if] [in], gen(evar)"
- exit
- }
- mac def _varlist "req ex min(3) max(3)"
- mac def _if "opt"
- mac def _in "opt"
- mac def _options "Generate(string)"
- parse "%_*"
- if "%_generat"=="" {
- mdytoe
- exit
- }
- conf new var %_generat
- mac def _Exp "int(((%_1)-14)/12)"
- parse "%_varlist", parse(" ")
- #delimit ;
- gen long %_generat =
- (%_2) - 2469010 + int(1461*((%_3)+4800+%_Exp)/4)
- + int(367*((%_1)-2-%_Exp*12)/12)
- - int(3*int(((%_3)+4900+%_Exp)/100)/4) %_if %_in;
- #delimit cr
- end
-
- capture program drop etomdy
- program define etomdy
- if "%_*"=="" {
- di in bl "etomdy evar [if] [in], gen(mo da yr)"
- exit
- }
- mac def _varlist "req ex max(1)"
- mac def _if "opt"
- mac def _in "opt"
- mac def _options "Generate(string)"
- parse "%_*"
- parse "%_generat", parse(" ")
- if ("%_3"=="" | "%_4"~="") {
- etomdy
- exit
- }
- conf new var %_*
- capture {
- gen long _Temp2 = int(4*((%_varlist)+2505504)/146097) %_if %_in
- gen long _Temp1 = (%_varlist) + 2505504 - /*
- */ int((146097*_Temp2+3)/4) %_if %_in
- gen int %_3 = int(4000*(_Temp1+1)/1461001) %_if %_in
- replace _Temp1 = _Temp1 - int(1461*%_3/4) + 31 %_if %_in
- gen int %_1 = int(80*_Temp1/2447) %_if %_in
- gen int %_2 = _Temp1 - int(2447*%_1/80) %_if %_in
- replace _Temp1 = int(%_1/11) %_if %_in
- replace %_1 = (%_1) + 2 - 12*_Temp1 %_if %_in
- replace %_3 = 100*(_Temp2-49) + (%_3) + _Temp1 %_if %_in
- drop _Temp1 _Temp2
- exit
- }
- di in red "--Break--"
- capture drop _Temp1
- capture drop _Temp2
- capture drop %_3
- capture drop %_2
- capture drop %_1
- end
-
-
- capture prog drop etodow
- program define etodow
- if "%_*"=="" {
- di in bl "-> etodow evar [if] [in], gen(dowvar)"
- exit
- }
- mac def _varlist "req ex max(1)"
- mac def _if "opt"
- mac def _in "opt"
- mac def _options "Generate(string)"
- parse "%_*"
- parse "%_generat", parse(" ")
- if "%_1"=="" | "%_2"~="" {
- etodow
- exit
- }
- conf new var %_generat
- #delimit ;
- gen int %_generat = cond((%_varlist)+5==0,0,
- cond((%_varlist)>=0,mod((%_varlist)+5,7),
- 6-mod(abs(%_varlist)+8,7)))
- %_if %_in ;
- label define Dayslab 0 "Sun." 1 "Mon." 2 "Tue." 3 "Wed."
- 4 "Thu." 5 "Fri." 6 "Sat.", modify ;
- #delimit cr
- label values %_generat Dayslab
- end
-
-
- di
- di in gr "The following new commands are now available:"
- di " collapse etodow mdytoe order recast"
- di " etomdy
- di _n in gr "See " in wh "help data.kit" in gr "."
- exit
-
-
- Notes to User's wishing to edit this file:
-
- These comments are placed at the end of the file, after the exit, so that
- Stata does not have to read through them every time the user types "run
- Graph.Kit"
-
- Feel free to edit this file and delete programs in which you have no interest.
- Before editing this file, however, make sure the the original is BACKED UP.
- Please do not remove the copyright notice at the top of this file.
-
- If you do edit the file, you should add a display command at the top of this
- file indicating that you have edited the file. You should change the display
- just above these comments that lists the new commands now available.
-
- All utility programs start with an underscore '_'.
-
- Some programs use other programs in achieving the desired result. Review the
- table below carefully before deleting programs.
-
- Program Requires
- --------------------------
- collapse _sums _means _medians
- order
- mdytoe
- etomdy
- etodow
- recast
-
- For instance, if you deleted the _sums program, you would break collapse.
-
- <end of Data.Kit>